package com.googlecode.archimedes.filegen.model;

import java.util.Collection;
import java.util.Set;
import java.util.TreeSet;

/**
 * <p>
 * Represents a Java 1.5 Enumeration
 * </p>
 * 
 * <p>Created: Feb 17, 2006</p>
 * 
 * @author Erik Gustavson
 * @version $Id: Enumeration.java 2023 2006-02-18 01:16:42 +0000 (Sat, 18 Feb 2006) erik $
 */
public class Enumeration extends AbstractAsset {

    private String               name;
    private Set<EnumeratedValue> values      = new TreeSet<EnumeratedValue>();
    private String               description = "No Description";

    /**
     * Returns the description.
     *
     * @return String value of description
     */
    public String getDescription() {
        return description;
    }

    /**
     * Sets the description
     * @param description The description to set.
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * Returns the name.
     *
     * @return String value of name
     */
    public String getName() {
        return name;
    }

    /**
     * Sets the name
     * @param name The name to set.
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * Returns the values.
     *
     * @return Set<EnumeratedValue> value of values
     */
    public Set<EnumeratedValue> getValues() {
        return values;
    }

    /**
     * Sets the values
     * @param values The values to set.
     */
    public void setValues(Set<EnumeratedValue> values) {
        this.values = values;
    }

    /**
     * Adds a single value to the list
     * @param value
     */
    public void addValue(EnumeratedValue value) {
        this.getValues().add(value);
    }

    /** 
     * @see com.tps.filegen.model.Asset#getSubordinateAssets()
     */
    public Collection<? extends Asset> getSubordinateAssets() {
        return null;
    }

}
